<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="Clases.domain.*"%>
<%@page import="pos.presentation.*" %>
<%@page import="java.util.*"%>
					

<%
//En el siguiente fragmento de codigo cogemos los datos que provienen de la pagina registro
String email=request.getParameter("email");
String nick=request.getParameter("nick");
String clave=request.getParameter("password");
String barrio=request.getParameter("barrio");
String zona=request.getParameter("zona");
String preg1=request.getParameter("preg1");
String recicla=request.getParameter("si_no");

%>
<%!		
//A continuacion hemos creado varios metodos, el siguiente metodo sirve para validar el email

public boolean validaEmail(String email){
boolean bien=true;
String nombre;
String hotmail;
String dominio;
int arroba = email.indexOf("@"); //posicion arroba
if(arroba==-1){
	 bien=false;
}
else{
	nombre = email.substring(0,arroba); //nombre=ana
	
	int punto = email.indexOf(".");
	if(punto==-1){
		bien=false;
	}
	else{
		hotmail= email.substring(arroba+1,punto);
	
	 	dominio= email.substring(punto+1);

		 int x= nombre.length();
		 int y = hotmail.length();
		 int z = dominio.length();
		
		if (!((x>1)&&(y>1)&&(z>1))) {
			bien=false;							
		}
	}
}
return bien;
}
//Este metodo nos dice si el String que le pasamos como entrada contiene letras
		public boolean contieneLetras(String s){
			String letras="abcdefghyjklmnñopqrstuvwxyz";
			boolean enc1=false;
			String t=s.toLowerCase();
			for(int i=0; i<t.length(); i++){
				if (letras.indexOf(t.charAt(i),0)!=-1 && !enc1){
					//aki si se encuentra letras
					enc1=true;
				}
			}
			return enc1;
		}
//Este metodo nos dice si el String que le pasamos como entrada contiene caracteres
		public boolean contieneCaracteres(String x){
			String caracter="!@#$~%&/()=?¿¡[]{}-_<>+*Ç\"";
			boolean enc2=false;
			String tt=x.toLowerCase();
			for(int i=0; i<tt.length(); i++){
				if (caracter.indexOf(tt.charAt(i),0)!=-1 && !enc2){
					//aki si se encuentra caracteres
					enc2=true;
				}
			}
			return enc2;
		}
		
%>
<%
	//creo una variable booleana para controlar la exixtencia de errores
	boolean existeError=false;
	int tipoError;
	//desde aqui empieza la validacion
	//Aqui validamos que la direccion de correo sea correcta
	if(email==null || !validaEmail(email)){
		existeError=true;
		tipoError=1;
	}
	//Aqui miramos si el nick no sea nulo o no tenga caracteres
	if(nick==null || contieneCaracteres(nick)){
		existeError=true;
		tipoError=2;
	}
	//Aqui miramos si la clave no es nula o no contiene caracteres
	if(clave==null || contieneCaracteres(clave)){
		existeError=true;
		tipoError=3;
	}
	//Aqui miramos si preg1 es nulo o contiene caracteres o letras
	if(preg1==null || contieneCaracteres(preg1) || contieneLetras(preg1)){
		existeError=true;
		tipoError=4;
	}
	//Aqui comprobamos que el barrio y la zona no sean nulos
	if(barrio==null || zona==null){
		existeError=true;
		tipoError=12;
	}
	//Aqui finaliza la validacion
	
	//Ahora comprobamos si hay errores, en caso de que exista errores no podemos avanzar hasta que el cliente no solucione los problemas, en caso de queno exista problemas en funcion de la opcion marcada por el cliente se derivara a una pagina u otra.
	if(existeError==true){
		response.sendRedirect("./../registro.jsp");
	}else{	
		if(recicla.equals("si")){
			response.sendRedirect("./../registro_si.jsp?email="+email+"&"+"nick="+nick+"&"+"password="+clave+"&"+"barrio="+barrio+"&"+"zona="+zona+"&"+"preg1="+preg1+"&"+"si_no="+recicla);
		}else{
			response.sendRedirect("./../registro_no.jsp?email="+email+"&"+"nick="+nick+"&"+"password="+clave+"&"+"barrio="+barrio+"&"+"zona="+zona+"&"+"preg1="+preg1+"&"+"si_no="+recicla);
		}
	}	
%>